package aplicaciones;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

import GUI.CocinaGrafica;
import modelo.Restaurante;


/**
 * Esta clase representa la aplicación que va a ejecutarse en el ordenador de cocina
 * (subsitema 3º iteración)
 * 
 * @created 02-may-2007 14:35
 * @version 1.0
 * @author Carlos Rodríguez Domínguez, Luis Miguel Merino Bonilla, Enrique Menor Santos, Ana Belén Pelegrina Ortiz
 */
public class Cocina {

	
public static Restaurante m_Restaurante;
	
	public static void main(String[] args){
		
		/**
    	 * Direccion ip donde esta el servidor RMI.
    	 */
    	String ip = "";
		
		File f = new File("IPServidorRMI.txt");
		FileReader fr = null;
		try {
			fr = new FileReader(f);
		} catch (FileNotFoundException e) {
			System.err.println("Error en apertura de fichero de Servidor RMI. No se ha encontrado el fichero IPServidorRMI.txt");
			System.exit (1);	
		}
		BufferedReader br = new BufferedReader(fr);
		try {
			ip = br.readLine();
		} catch (IOException e) {
			System.err.println("Error en lectura de fichero de Servidor RMI: " + e.getMessage());
			System.exit (2);
		}
		if (ip==null ||ip.equals(""))
		{
			System.err.println("Error en lectura de la IP desde el fichero IPServidorRMI.txt");
			System.exit (3);
		}
		// Si todo va bien construimos el objeto restaurante y le pasamos como parametro la direccion  ip del servidor RMI
    	
    	if (args.length > 0)
    	{
    		try {
				
				// Usamos el constructor correcto para crear el objeto restaurante con la ip
				// Cambio de la segunda iteracion
				m_Restaurante = new Restaurante(Integer.parseInt(args[0]), ip);
			} catch (NumberFormatException e) {
				//e.printStackTrace();
				System.err.println("Error en la clase Main en el metodo main: " + e.getMessage());
			}
    	}
    		
    	else
    	{
    		//Usamos el constructor correcto para crear el objeto restaurante con la ip
			//Cambio de la segunda iteracion
			m_Restaurante = new Restaurante(1, ip);
    	}
	
    	if (m_Restaurante != null){
    		new CocinaGrafica().setVisible(true);
    	}
	}
}
